[Amazon FSx for NetApp ONTAP] SnapMirrorを使ったSMBサーバーの切り戻し手順を整理してみた

[Amazon FSx for NetApp ONTAP] SnapMirrorを使ったSMBサーバーの切り戻し手順を整理してみた

切り替えだけでなく、切り戻しのプロセスも把握しておこう
Clock Icon2024.10.21

切り替えたSMBサーバーからSnapMirrorのレプリケーション元のSMBサーバーに戻したい

こんにちは、のんピ(@non____97)です。

皆さんはAmazon FSx for NetApp ONTAPを使用していて、切り替えたSMBサーバーからSnapMirrorのレプリケーション元のSMBサーバーに戻したいなと思ったことはありますか? 私はあります。

以下記事ではSnapMirrorのレプリケーション先のSMBサーバーへの切り替え方法を紹介しました。

https://dev.classmethod.jp/articles/amazon-fsx-for-netapp-ontap-snapmirror-smb-server-switchover/

しばらくするとレプリケーション元のFSxNファイルシステムが復旧するでしょう。復旧後は元あった姿に戻したいものです。

ということで、今回は切り戻し(フェイルバック)方法を紹介します。

いきなりまとめ

  • 事前準備
    • SnapMirrorの逆再同期
  • 切り戻し時
    • SnapMirrorの最終同期
      • 実施する場合は事前にNASクライアントからの通信を停止させ、静止点を確保する
    • SnapMirrorのカットオーバー
    • DNS CNAMEレコードの切り替え
    • SPNの切り替え
    • 逆再同期用のSnapMirror relationshipの削除
    • 切り替え前の方向でSnapMirror relationshipを再同期

検証環境

検証環境は以下のとおりです。

[Amazon FSx for NetApp ONTAP] SnapMirrorを使ったSMBサーバーの切り替え手順を整理してみた検証環境構成図.png

先述の記事の続きから作業します。

事前準備

NACL制御解除

元々SnapMirrorの転送元だったFSxNファイルシステムであるFSxN Aが復旧したシナリオなので、FSxN Aのサブネットに関連付けしていたインバウンドルールとアウトバウンドルールどちらもDenyルールのみのNACLを解除します。

2.non-97-nacl のサブネットの関連付けが正常に更新されました。.png

クラスターピアリングの状態を確認します。

FSxN B
::*> cluster peer show
Peer Cluster Name         Cluster Serial Number Availability   Authentication
------------------------- --------------------- -------------- --------------
FsxId0e64a4f5386f74c87    1-80-000011           Partial        ok

::*> cluster peer show
Peer Cluster Name         Cluster Serial Number Availability   Authentication
------------------------- --------------------- -------------- --------------
FsxId0e64a4f5386f74c87    1-80-000011           Available      ok

::*> cluster peer show -instance

                       Peer Cluster Name: FsxId0e64a4f5386f74c87
                            Cluster UUID: 00811e9a-6063-11ef-a92a-512f30fadf39
           Remote Intercluster Addresses: 10.0.8.229, 10.0.8.62
      Availability of the Remote Cluster: Available
                     Remote Cluster Name: FsxId0e64a4f5386f74c87
                     Active IP Addresses: 10.0.8.62, 10.0.8.229
                   Cluster Serial Number: 1-80-000011
                    Remote Cluster Nodes: FsxId0e64a4f5386f74c87-01,
                                          FsxId0e64a4f5386f74c87-02
                   Remote Cluster Health: true
                 Unreachable Local Nodes: -
             Operation Timeout (seconds): 60
          Address Family of Relationship: ipv4
    Authentication Status Administrative: use-authentication
       Authentication Status Operational: ok
                 Timeout for RPC Connect: 10
                Timeout for Update Pings: 5
                        Last Update Time: 10/20/2024 12:57:32
            IPspace for the Relationship: Default
Proposed Setting for Encryption of Inter-Cluster Communication: -
Encryption Protocol For Inter-Cluster Communication: tls-psk
  Algorithm By Which the PSK Was Derived: jpake

PartialAvailableと状態が変化しましたね。クラスターピアリングで設定しているIPアドレスは2つあるため状態によってはPartialになるようですね。

SMB-SERVERにアクセスできるようになったことを確認します。

> ls "\\SMB-SERVER.corp.non-97.net\FSxN vol_ntfs\SMB share"


    Directory: \\SMB-SERVER.corp.non-97.net\FSxN vol_ntfs\SMB share


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        10/11/2024   8:39 AM                .aws-datasync
d-----        10/11/2024   7:20 AM                SMB share
d-----        10/14/2024  11:17 PM                SMB日本語フォルダ

アクセスできましたね。

書き込みができることも確認します。

> echo test3 > "\\SMB-SERVER.corp.non-97.net\FSxN vol_ntfs\SMB share\test3.txt"

> cat "\\SMB-SERVER.corp.non-97.net\FSxN vol_ntfs\SMB share\test3.txt"
test3

問題なく書き込めます。

SnapMirror逆再同期

SnapMirrorの逆再同期を行います。

再同期は差分量によっては非常に時間がかかることが予想されます。影響度が低い時間帯に実行しましょう。

再同期の際にベースライン転送は不要ですが、再同期には時間がかかる場合があります。再同期はオフピークの時間帯に実行することを推奨します。

レプリケーション関係を再同期

転送元をFSxN Bのボリューム、転送先をFSxN AのボリュームとしたSnapMirror relationshipを作成します。

FSxN A
::*> snapmirror show
This table is currently empty.

::*> snapmirror create -source-path svm2:vol_ntfs_dst -destination-path svm:vol_ntfs -policy MirrorAllSnapshots -schedule 5min
Operation succeeded: snapmirror create for the relationship with destination "svm:vol_ntfs".

::*> snapmirror show
                                                                       Progress
Source            Destination Mirror  Relationship   Total             Last
Path        Type  Path        State   Status         Progress  Healthy Updated
----------- ---- ------------ ------- -------------- --------- ------- --------
svm2:vol_ntfs_dst
            XDP  svm:vol_ntfs Broken-off
                                      Idle           -         true    -

逆同期するにあたって共通Snapshotを事前に確認します。

FSxN A
::*> snapshot show -volume vol_ntfs
                                                                 ---Blocks---
Vserver  Volume   Snapshot                                  Size Total% Used%
-------- -------- ------------------------------------- -------- ------ -----
svm      vol_ntfs
                  test.2024-08-30_0648                     356KB     0%    0%
                  test.2024-09-22_0958                   34.38MB     0%    0%
                  snapmirror.47963cae-8ead-11ef-9c67-4983eeb189eb_2148230170.2024-10-20_083000
                                                           156KB     0%    0%
                  10min.2024-10-20_1110                    152KB     0%    0%
.
.
(中略)
.
.
                  10min.2024-10-20_1300                    180KB     0%    0%
15 entries were displayed.
FSxN B
::*> snapshot show -volume vol_ntfs_dst
                                                                 ---Blocks---
Vserver  Volume   Snapshot                                  Size Total% Used%
-------- -------- ------------------------------------- -------- ------ -----
svm2     vol_ntfs_dst
                  test.2024-08-30_0648                     296KB     0%    0%
                  test.2024-09-22_0958                   36.97MB     0%    0%
                  10min.2024-10-20_0720                  261.7MB     0%    1%
.
.
(中略)
.
.
                  10min.2024-10-20_0820                    260KB     0%    0%
                  snapmirror.47963cae-8ead-11ef-9c67-4983eeb189eb_2148230170.2024-10-20_082500
                                                           280KB     0%    0%
                  10min.2024-10-20_0830                    232KB     0%    0%
                  snapmirror.47963cae-8ead-11ef-9c67-4983eeb189eb_2148230170.2024-10-20_083000
                                                         486.7MB     1%    1%
12 entries were displayed.

snapmirror.47963cae-8ead-11ef-9c67-4983eeb189eb_2148230170.2024-10-20_083000が共通のようですね。

それではsnapmirror resyncで逆再同期します。

FSxN A
::*> snapmirror resync -destination-path svm:vol_ntfs

Warning: All data newer than Snapshot copy snapmirror.47963cae-8ead-11ef-9c67-4983eeb189eb_2148230170.2024-10-20_083000 on volume svm:vol_ntfs will be deleted.
Do you want to continue? {y|n}: y
Operation is queued: initiate snapmirror resync to destination "svm:vol_ntfs".

::*> snapmirror show -fields source-path, destination-path, state, status, progress-last-updated, total-progress
source-path       destination-path state        status total-progress progress-last-updated
----------------- ---------------- ------------ ------ -------------- ---------------------
svm2:vol_ntfs_dst svm:vol_ntfs     Snapmirrored Idle   -              -

::*> snapshot show -volume vol_ntfs
                                                                 ---Blocks---
Vserver  Volume   Snapshot                                  Size Total% Used%
-------- -------- ------------------------------------- -------- ------ -----
svm      vol_ntfs
                  test.2024-08-30_0648                     356KB     0%    0%
                  test.2024-09-22_0958                   34.38MB     0%    0%
                  snapmirror.47963cae-8ead-11ef-9c67-4983eeb189eb_2148230170.2024-10-20_083000
                                                         244.4MB     0%    1%
                  snapmirror.3ba0f5ee-6064-11ef-a92a-512f30fadf39_2149324094.2024-10-20_131201
                                                           144KB     0%    0%
4 entries were displayed.

::*> volume show -volume vol_ntfs -fields type, state, size, used, available, percent-used, junction-path, security-style, snapshot-policy,autosize-mode
vserver volume   size  state  security-style junction-path available used    percent-used autosize-mode type snapshot-policy
------- -------- ----- ------ -------------- ------------- --------- ------- ------------ ------------- ---- ---------------
svm     vol_ntfs 256GB online ntfs           /vol_ntfs     192.0GB   51.22GB 21%          off           DP   snapshot-10min

共通スナップショットであるsnapmirror.47963cae-8ead-11ef-9c67-4983eeb189eb_2148230170.2024-10-20_083000をベースラインとして逆再同期が実行されました。

そのため、事前にFSxN Aで書き込んだtest3.txtは削除されているはずです。

実際に確認します。

> cat "\\SMB-SERVER.corp.non-97.net\FSxN vol_ntfs\SMB share\test3.txt"
cat : Cannot find path '\\SMB-SERVER.corp.non-97.net\FSxN vol_ntfs\SMB share\test3.txt' because it does not exist.
At line:1 char:1
+ cat "\\SMB-SERVER.corp.non-97.net\FSxN vol_ntfs\SMB share\test3.txt"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (\\SMB-SERVER.co...share\test3.txt:String) [Get-Content], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand

> ls "\\SMB-SERVER.corp.non-97.net\FSxN vol_ntfs\SMB share"


    Directory: \\SMB-SERVER.corp.non-97.net\FSxN vol_ntfs\SMB share


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        10/11/2024   8:39 AM                .aws-datasync
d-----        10/11/2024   7:20 AM                SMB share
d-----        10/14/2024  11:17 PM                SMB日本語フォルダ
-a----        10/20/2024   9:10 AM             14 test.txt
-a----        10/20/2024  12:51 PM             16 test2.txt

はい、確かにtest3.txtは削除され、FSxN Bのボリュームの内容で上書きされていますね。

ちなみに逆再同期の際にSnapMirrorの送信元と送信先に共通Snapshotが存在しない場合はSnapMirror relationshipの初期化(snapmirror initialize)を行い、ベースラインSnapshotを作成する必要があります。

ソースボリュームとデスティネーションボリュームに共通のSnapshotがなくなった場合、このコマンドは失敗し、新しい初期化が必要になります。

手順for SnapMirrorディザスタリカバリ(DR)テストとONTAPでのリバースSnapMirror - NetApp

アクセス先SMBサーバーの切り戻し

SnapMirrorのカットオーバー

実際の切り戻しプロセスの初めとして、SnapMirrorのカットオーバーします。

まずは次回以降の同期を中断します。今回は割愛しますが、FSxN BのNACLなどでユーザーのIPアドレスレンジからのSMBアクセスは拒否しておくと最終同期の整合性を保ちやすいでしょう。

FSxN A
::*> snapmirror quiesce -destination-path svm:vol_ntfs
Operation succeeded: snapmirror quiesce for destination "svm:vol_ntfs".

::*> snapmirror show
                                                                       Progress
Source            Destination Mirror  Relationship   Total             Last
Path        Type  Path        State   Status         Progress  Healthy Updated
----------- ---- ------------ ------- -------------- --------- ------- --------
svm2:vol_ntfs_dst
            XDP  svm:vol_ntfs Snapmirrored
                                      Quiesced       -         true    -

::*> snapmirror show-history -max-rows-per-relationship 3 -fields start-time, end-time, result
destination-path operation-id   start-time          end-time            result
---------------- -------------- ------------------- ------------------- -------
svm:vol_ntfs     ..(中略)..      10/20/2024 13:25:27 10/20/2024 13:25:27 success
svm:vol_ntfs     ..(中略)..      10/20/2024 13:25:00 10/20/2024 13:25:03 success
svm:vol_ntfs     ..(中略)..      10/20/2024 13:20:00 10/20/2024 13:20:04 success
3 entries were displayed.

::*> snapshot show -volume vol_ntfs
                                                                 ---Blocks---
Vserver  Volume   Snapshot                                  Size Total% Used%
-------- -------- ------------------------------------- -------- ------ -----
svm      vol_ntfs
                  test.2024-08-30_0648                     356KB     0%    0%
                  test.2024-09-22_0958                   34.38MB     0%    0%
                  snapmirror.47963cae-8ead-11ef-9c67-4983eeb189eb_2148230170.2024-10-20_083000
                                                         244.8MB     0%    1%
                  snapmirror.3ba0f5ee-6064-11ef-a92a-512f30fadf39_2149324094.2024-10-20_132000
                                                           236KB     0%    0%
                  snapmirror.3ba0f5ee-6064-11ef-a92a-512f30fadf39_2149324094.2024-10-20_132500
                                                           144KB     0%    0%
5 entries were displayed.
FSxN B
::*> snapshot show -volume vol_ntfs_dst
                                                                 ---Blocks---
Vserver  Volume   Snapshot                                  Size Total% Used%
-------- -------- ------------------------------------- -------- ------ -----
svm2     vol_ntfs_dst
                  test.2024-08-30_0648                     296KB     0%    0%
                  test.2024-09-22_0958                   36.97MB     0%    0%
                  10min.2024-10-20_0720                  261.7MB     0%    1%
                  10min.2024-10-20_0730                    296KB     0%    0%
                  10min.2024-10-20_0740                    236KB     0%    0%
                  10min.2024-10-20_0750                    284KB     0%    0%
                  10min.2024-10-20_0800                    264KB     0%    0%
                  10min.2024-10-20_0810                    280KB     0%    0%
                  10min.2024-10-20_0820                    280KB     0%    0%
                  10min.2024-10-20_0830                    232KB     0%    0%
                  snapmirror.47963cae-8ead-11ef-9c67-4983eeb189eb_2148230170.2024-10-20_083000
                                                         486.7MB     1%    1%
                  snapmirror.3ba0f5ee-6064-11ef-a92a-512f30fadf39_2149324094.2024-10-20_132500
                                                           152KB     0%    0%
12 entries were displayed.

SnapMirror relationshipの状態がQuiescedになりました。以降5分間隔で実行されていたSnapMirrorは実行されなくなります。

今回は割愛しますが、本来であればここでFSxN AとFSxN BにそれぞれSMBでアクセスし、確かにボリューム内のファイルが同期されていることを最終チェックすると良いでしょう。

また、ベースラインSnapshotよりも前のSnapshotは転送されないので注意しましょう。

それでは、SnapMirrorのカットオーバーを行います。

FSxN A
::*> snapmirror break -destination-path svm:vol_ntfs
Operation succeeded: snapmirror break for destination "svm:vol_ntfs".

::*> snapmirror show
                                                                       Progress
Source            Destination Mirror  Relationship   Total             Last
Path        Type  Path        State   Status         Progress  Healthy Updated
----------- ---- ------------ ------- -------------- --------- ------- --------
svm2:vol_ntfs_dst
            XDP  svm:vol_ntfs Broken-off
                                      Idle           -         true    -

::*> volume show -volume vol_ntfs -fields type, state, size, used, available, percent-used, junction-path, security-style, snapshot-policy,autosize-mode
vserver volume   size  state  security-style junction-path available used    percent-used autosize-mode type snapshot-policy
------- -------- ----- ------ -------------- ------------- --------- ------- ------------ ------------- ---- ---------------
svm     vol_ntfs 256GB online ntfs           /vol_ntfs     192.0GB   51.22GB 21%          off           RW   snapshot-10min

FSxN AのボリュームがRWになりました。

SMB-SERVERに書き込みできるようになったか確認しましょう。

> echo test3 > "\\SMB-SERVER.corp.non-97.net\FSxN vol_ntfs\SMB share\test3.txt"
> ls "\\SMB-SERVER.corp.non-97.net\FSxN vol_ntfs\SMB share"


    Directory: \\SMB-SERVER.corp.non-97.net\FSxN vol_ntfs\SMB share


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        10/11/2024   8:39 AM                .aws-datasync
d-----        10/11/2024   7:20 AM                SMB share
d-----        10/14/2024  11:17 PM                SMB日本語フォルダ
-a----        10/20/2024   9:10 AM             14 test.txt
-a----        10/20/2024  12:51 PM             16 test2.txt
-a----        10/20/2024   1:30 PM             16 test3.txt

書き込めました。

DNS CNAMEレコードの変更

現在SMB-ALIASSMB-SERVER2のエイリアスのままです。


> ls "\\SMB-ALIAS.corp.non-97.net\FSxN vol_ntfs\SMB share"


    Directory: \\SMB-ALIAS.corp.non-97.net\FSxN vol_ntfs\SMB share


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        10/11/2024   8:39 AM                .aws-datasync
d-----        10/11/2024   7:20 AM                SMB share
d-----        10/14/2024  11:17 PM                SMB日本語フォルダ
-a----        10/20/2024   9:10 AM             14 test.txt
-a----        10/20/2024  12:51 PM             16 test2.txt

CNAMEレコードの値をSMB-SERVERに変更しましょう。

> $DnsName = "SMB-SERVER.corp.non-97.net"
> $Record = Get-DnsServerResourceRecord -ZoneName $ZoneName -Name $AliasHost -RRType CNAME
> $NewRecord = $Record.Clone()
> $NewRecord.RecordData.HostNameAlias = $DnsName
> Set-DnsServerResourceRecord -ZoneName $ZoneName -OldInputObject $Record -NewInputObject $NewRecord
> Get-DnsServerResourceRecord -ZoneName $ZoneName -Name $AliasHost -RRType CNAME

HostName                  RecordType Type       Timestamp            TimeToLive      RecordData
--------                  ---------- ----       ---------            ----------      ----------
SMB-ALIAS                 CNAME      5          0                    01:00:00        SMB-SERVER.corp.non-97.net.

この状態でSMB-ALIASにアクセスします。

> ls "\\SMB-ALIAS.corp.non-97.net\FSxN vol_ntfs\SMB share"
ls : Cannot find path '\\SMB-ALIAS.corp.non-97.net\FSxN vol_ntfs\SMB share' because it does not exist.
At line:1 char:1
+ ls "\\SMB-ALIAS.corp.non-97.net\FSxN vol_ntfs\SMB share"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (\\SMB-ALIAS.cor..._ntfs\SMB share:String) [Get-ChildItem], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand

はい、SPNがSMB-ALIASSMB-SERVER2のエイリアスのままであるため拒否されました。

SPNの再設定

SPNの設定変更をしましょう。

まず、SPNの削除です。

> SetSPN -T * -F -Q HOST/SMB*
Checking forest DC=corp,DC=non-97,DC=net
CN=SMB-SERVER2,OU=FSxForONTAP,DC=corp,DC=non-97,DC=net
        cifs/SMB-ALIAS.corp.non-97.net
        HOST/SMB-ALIAS.corp.non-97.net
        HOST/SMB-ALIAS
        cifs/smb-server2.corp.non-97.net
        HOST/smb-server2.corp.non-97.net
        HOST/SMB-SERVER2
CN=SMB-SERVER,OU=FSxForONTAP,DC=corp,DC=non-97,DC=net
        cifs/smb-server.corp.non-97.net
        HOST/smb-server.corp.non-97.net
        HOST/SMB-SERVER

Existing SPN found!

> $FileSystemHost = (Resolve-DnsName "SMB-SERVER2.corp.non-97.net" | Where Type -eq 'A')[0].Name.Split(".")[0]
> $FSxAdComputer = (Get-AdComputer -Identity $FileSystemHost)
> Get-ADComputer $FileSystemHost -Properties msDS-AdditionalDnsHostname


DistinguishedName          : CN=SMB-SERVER2,OU=FSxForONTAP,DC=corp,DC=non-97,DC=net
DNSHostName                : SMB-SERVER2.CORP.NON-97.NET
Enabled                    : True
msDS-AdditionalDnsHostname : {SMB-ALIAS.corp.non-97.net}
Name                       : SMB-SERVER2
ObjectClass                : computer
ObjectGUID                 : 29bd3909-20ed-4b10-8a97-03baa8ff4fb4
SamAccountName             : SMB-SERVER2$
SID                        : S-1-5-21-38571244-2121234638-1230449559-1633
UserPrincipalName          :


> Set-ADComputer $FileSystemHost -Clear msDS-AdditionalDnsHostname
> Get-ADComputer $FileSystemHost -Properties msDS-AdditionalDnsHostname


DistinguishedName : CN=SMB-SERVER2,OU=FSxForONTAP,DC=corp,DC=non-97,DC=net
DNSHostName       : SMB-SERVER2.CORP.NON-97.NET
Enabled           : True
Name              : SMB-SERVER2
ObjectClass       : computer
ObjectGUID        : 29bd3909-20ed-4b10-8a97-03baa8ff4fb4
SamAccountName    : SMB-SERVER2$
SID               : S-1-5-21-38571244-2121234638-1230449559-1633
UserPrincipalName :

> SetSPN -T * -F -Q HOST/SMB*
Checking forest DC=corp,DC=non-97,DC=net
CN=SMB-SERVER,OU=FSxForONTAP,DC=corp,DC=non-97,DC=net
        cifs/smb-server.corp.non-97.net
        HOST/smb-server.corp.non-97.net
        HOST/SMB-SERVER
CN=SMB-SERVER2,OU=FSxForONTAP,DC=corp,DC=non-97,DC=net
        cifs/smb-server2.corp.non-97.net
        HOST/smb-server2.corp.non-97.net
        HOST/SMB-SERVER2

Existing SPN found!

削除できました。個別にSPNを削除するのではなく、コンピューターオブジェクトからmsDS-AdditionalDnsHostnameの値をクリアする方が作業量が少なく良いですね。

SMB-SERVERに対するエイリアスとなるようにSPNの再設定を行います。

> $FileSystemHost = (Resolve-DnsName $DnsName | Where Type -eq 'A')[0].Name.Split(".")[0]
> $FSxAdComputer = (Get-AdComputer -Identity $FileSystemHost)
> Set-AdComputer -Identity $FSxAdComputer -Add @{"msDS-AdditionalDnsHostname"="$Alias"}
> SetSPN -T * -F -Q HOST/SMB*
Checking forest DC=corp,DC=non-97,DC=net
CN=SMB-SERVER,OU=FSxForONTAP,DC=corp,DC=non-97,DC=net
        cifs/SMB-ALIAS.corp.non-97.net
        HOST/SMB-ALIAS.corp.non-97.net
        HOST/SMB-ALIAS
        cifs/smb-server.corp.non-97.net
        HOST/smb-server.corp.non-97.net
        HOST/SMB-SERVER
CN=SMB-SERVER2,OU=FSxForONTAP,DC=corp,DC=non-97,DC=net
        cifs/smb-server2.corp.non-97.net
        HOST/smb-server2.corp.non-97.net
        HOST/SMB-SERVER2

Existing SPN found!

SPNの再設定が完了しました。

それではSMB-ALIASでアクセスします。

> ls "\\SMB-ALIAS.corp.non-97.net\FSxN vol_ntfs\SMB share"


    Directory: \\SMB-ALIAS.corp.non-97.net\FSxN vol_ntfs\SMB share


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        10/11/2024   8:39 AM                .aws-datasync
d-----        10/11/2024   7:20 AM                SMB share
d-----        10/14/2024  11:17 PM                SMB日本語フォルダ
-a----        10/20/2024   9:10 AM             14 test.txt
-a----        10/20/2024  12:51 PM             16 test2.txt
-a----        10/20/2024   1:30 PM             16 test3.txt

正常にアクセスできました。

SMB-SERVERに対して書き込んだtest3.txtも表示されていることから、確かにSMB-ALIASSMB-SERVERのエイリアスであることが分かります。

セッションを確認すると、確かにKerberos認証であることが分かります。

::*> cifs session show -fields windows-user, address, auth-mechanism, shares, protocol-version, smb-encryption-status
node                      vserver session-id         connection-id address    auth-mechanism windows-user       shares protocol-version smb-encryption-status
------------------------- ------- ------------------ ------------- ---------- -------------- ------------------ ------ ---------------- ---------------------
FsxId0e64a4f5386f74c87-01 svm     719450040472436898 239866928     10.0.0.139 Kerberos       CORP\Administrator 2      SMB3_1           encrypted

::*> cifs session show -instance

Vserver: svm

                            Node: FsxId0e64a4f5386f74c87-01
                      Session ID: 719450040472436899
                   Connection ID: 239866929
    Incoming Data LIF IP Address: 10.0.8.246
          Workstation IP Address: 10.0.0.139
        Authentication Mechanism: Kerberos
           User Authenticated as: domain-user
                    Windows User: CORP\Administrator
                       UNIX User: root
                     Open Shares: 1
                      Open Files: 0
                      Open Other: 0
                  Connected Time: 2s
                       Idle Time: 2s
                Protocol Version: SMB3_1
          Continuously Available: No
               Is Session Signed: false
                    NetBIOS Name: -
           SMB Encryption Status: encrypted
               Large MTU Enabled: true
                Connection Count: 1
                   Active Shares: FSxN vol_ntfs

せっかくなのでパケットキャプチャも確認します。

Negotiate Protocol RequestSMB2_NETNAME_NEGOTIATE_CONTEXT_IDを確認するとSMB-ALIAS.corp.non-97.netが表記されていますね。

3.SMB-ALIAS接続時のパケットキャプチャ結果_SMB2_NETNAME_NEGOTIATE_CONTEXT_ID.png

また、Session Setup Requestを確認すると、Kerberos認証のチケット内のsname(サーバー名)としてSMB-ALIAS.corp.non-97.netが表記されていますね。

4.SMB-ALIAS接続時のパケットキャプチャ結果2.png

逆再同期用のSnapMirror relationshipの削除

後片付けとして逆再同期用のSnapMirror relationshipの削除をします。

削除前にFSxN AとFSxN Bのそれぞれの状態を確認します。

FSxN A
::*> snapmirror show
                                                                       Progress
Source            Destination Mirror  Relationship   Total             Last
Path        Type  Path        State   Status         Progress  Healthy Updated
----------- ---- ------------ ------- -------------- --------- ------- --------
svm2:vol_ntfs_dst
            XDP  svm:vol_ntfs Broken-off
                                      Idle           -         false   -

::*> volume show -fields type, state, size, used, available, percent-used, junction-path, security-style, snapshot-policy, autosize-mode
vserver volume   size state  security-style junction-path available used   percent-used autosize-mode type snapshot-policy
------- -------- ---- ------ -------------- ------------- --------- ------ ------------ ------------- ---- ---------------
svm     svm_root 1GB  online unix           /             969.4MB   3.36MB 0%           off           RW   default
svm     vol1     16GB online unix           /vol1         13.19GB   2.01GB 13%          off           RW   none
svm     vol_ntfs 256GB
                      online ntfs           /vol_ntfs     192.0GB   51.23GB
                                                                           21%          off           RW   snapshot-10min
3 entries were displayed.

::*> snapshot show -volume vol_ntfs
                                                                 ---Blocks---
Vserver  Volume   Snapshot                                  Size Total% Used%
-------- -------- ------------------------------------- -------- ------ -----
svm      vol_ntfs
                  test.2024-08-30_0648                     356KB     0%    0%
                  test.2024-09-22_0958                   34.38MB     0%    0%
                  snapmirror.47963cae-8ead-11ef-9c67-4983eeb189eb_2148230170.2024-10-20_083000
                                                         244.8MB     0%    1%
                  snapmirror.3ba0f5ee-6064-11ef-a92a-512f30fadf39_2149324094.2024-10-20_132000
                                                           236KB     0%    0%
                  snapmirror.3ba0f5ee-6064-11ef-a92a-512f30fadf39_2149324094.2024-10-20_132500
                                                           248KB     0%    0%
                  10min.2024-10-21_0100                    164KB     0%    0%
                  10min.2024-10-21_0110                    152KB     0%    0%
                  10min.2024-10-21_0120                    152KB     0%    0%
                  10min.2024-10-21_0130                    152KB     0%    0%
                  10min.2024-10-21_0140                    152KB     0%    0%
                  10min.2024-10-21_0150                    152KB     0%    0%
                  10min.2024-10-21_0200                    152KB     0%    0%
                  10min.2024-10-21_0210                    152KB     0%    0%
                  10min.2024-10-21_0220                    164KB     0%    0%
                  10min.2024-10-21_0230                    152KB     0%    0%
                  10min.2024-10-21_0240                    152KB     0%    0%
                  10min.2024-10-21_0250                    148KB     0%    0%
17 entries were displayed.
FSxN B
::*> volume show -fields type, state, size, used, available, percent-used, junction-path, security-style, snapshot-policy, autosize-mode
vserver volume    size state  security-style junction-path available used   percent-used autosize-mode type snapshot-policy
------- --------- ---- ------ -------------- ------------- --------- ------ ------------ ------------- ---- ---------------
svm2    svm2_root 1GB  online ntfs           /             971.2MB   1.60MB 0%           off           RW   default
svm2    vol_ntfs_dst
                  61.44GB
                       online ntfs           /vol_ntfs     7.13GB    51.24GB
                                                                            87%          grow_shrink   RW   none
2 entries were displayed.

::*> snapshot show -volume vol_ntfs_dst
                                                                 ---Blocks---
Vserver  Volume   Snapshot                                  Size Total% Used%
-------- -------- ------------------------------------- -------- ------ -----
svm2     vol_ntfs_dst
                  test.2024-08-30_0648                     296KB     0%    0%
                  test.2024-09-22_0958                   36.97MB     0%    0%
                  10min.2024-10-20_0720                  261.7MB     0%    1%
                  10min.2024-10-20_0730                    296KB     0%    0%
                  10min.2024-10-20_0740                    236KB     0%    0%
                  10min.2024-10-20_0750                    284KB     0%    0%
                  10min.2024-10-20_0800                    264KB     0%    0%
                  10min.2024-10-20_0810                    280KB     0%    0%
                  10min.2024-10-20_0820                    280KB     0%    0%
                  10min.2024-10-20_0830                    232KB     0%    0%
                  snapmirror.47963cae-8ead-11ef-9c67-4983eeb189eb_2148230170.2024-10-20_083000
                                                         486.7MB     1%    1%
                  snapmirror.3ba0f5ee-6064-11ef-a92a-512f30fadf39_2149324094.2024-10-20_132500
                                                           164KB     0%    0%
12 entries were displayed.

FSxN AでSnapMirror relationshipを削除します。

FSxN A
::*> snapmirror delete -destination-path svm:vol_ntfs
Operation succeeded: snapmirror delete for the relationship with destination "svm:vol_ntfs".

::*> snapmirror show
This table is currently empty.

FSxN Bからsnapmirror releaseを実行して転送先であるFSxN Aの情報を削除します。

FSxN B
::*> snapmirror list-destinations
                                                  Progress
Source             Destination         Transfer   Last         Relationship
Path         Type  Path         Status Progress   Updated      Id
----------- ----- ------------ ------- --------- ------------ ---------------
svm2:vol_ntfs_dst
            XDP   svm:vol_ntfs Idle    -         -            9912cebd-8ee4-11ef-accd-b31c82a68aa5

::*> snapmirror list-destinations -instance

                      Source Path: svm2:vol_ntfs_dst
                   Source Vserver: svm2
                    Source Volume: vol_ntfs_dst
                 Destination Path: svm:vol_ntfs
              Destination Vserver: svm
               Destination Volume: vol_ntfs
                  Relationship ID: 9912cebd-8ee4-11ef-accd-b31c82a68aa5
                Relationship Type: XDP
          Relationship Group Type: none
           SnapMirror Policy Type: async-mirror
  Consistency Group Item Mappings: -
              Relationship Status: Idle
                Transfer Progress: -
Timestamp of Last Progress Update: -
          Source Volume Node Name: FsxId0cc0b3c12780c7d9f-01
               Out of Sync reason: -

::*> snapmirror release -source-path svm2:vol_ntfs_dst -destination-path svm:vol_ntfs

Warning: Snapshot copies on source volume "svm2:vol_ntfs_dst" generated by SnapMirror for the purpose of mirroring to destination volume "svm:vol_ntfs" will be deleted. Once these Snapshot copies are deleted, it will not be possible to
         re-establish a mirroring relationship between these two volumes unless there are other common Snapshot copies between the source and the destination volumes.
Do you want to continue? {y|n}: y
[Job 67] Job succeeded: SnapMirror Release Succeeded

::*> snapmirror list-destinations -instance
There are no entries matching your query.

これでSnapMirrorの逆再同期のお掃除が完了しました。

FSxN AからFSxN BへのSnapMirrorへの設定

FSxN Aが稼働系に切り替わったため、FSxN AからFSxN BへのSnapMirrorの転送を行います。

FSxN B側からSnapMirrorの再同期を行います。

FSxN B
::*> snapmirror show
                                                                       Progress
Source            Destination Mirror  Relationship   Total             Last
Path        Type  Path        State   Status         Progress  Healthy Updated
----------- ---- ------------ ------- -------------- --------- ------- --------
svm:vol_ntfs
            XDP  svm2:vol_ntfs_dst
                              Broken-off
                                      Idle           -         false   -

::*> snapmirror resync -destination-path svm2:vol_ntfs_dst

Warning: All data newer than Snapshot copy snapmirror.47963cae-8ead-11ef-9c67-4983eeb189eb_2148230170.2024-10-20_083000 on volume svm2:vol_ntfs_dst will be deleted.
Do you want to continue? {y|n}: y
Operation is queued: initiate snapmirror resync to destination "svm2:vol_ntfs_dst".

::*> snapmirror show
                                                                       Progress
Source            Destination Mirror  Relationship   Total             Last
Path        Type  Path        State   Status         Progress  Healthy Updated
----------- ---- ------------ ------- -------------- --------- ------- --------
svm:vol_ntfs
            XDP  svm2:vol_ntfs_dst
                              Snapmirrored
                                      Transferring   1013KB    false   10/21 03:02:10

::*> snapmirror show -fields source-path, destination-path, state, status, progress-last-updated, total-progress
source-path  destination-path  state        status     total-progress progress-last-updated
------------ ----------------- ------------ ---------- -------------- ---------------------
svm:vol_ntfs svm2:vol_ntfs_dst Snapmirrored Finalizing 1.04MB         10/21 03:02:25

::*> snapmirror show -fields source-path, destination-path, state, status, progress-last-updated, total-progress
source-path  destination-path  state        status     total-progress progress-last-updated
------------ ----------------- ------------ ---------- -------------- ---------------------
svm:vol_ntfs svm2:vol_ntfs_dst Snapmirrored Finalizing 1.05MB         10/21 03:02:30

::*> snapmirror show -fields source-path, destination-path, state, status, progress-last-updated, total-progress
source-path  destination-path  state        status     total-progress progress-last-updated
------------ ----------------- ------------ ---------- -------------- ---------------------
svm:vol_ntfs svm2:vol_ntfs_dst Snapmirrored Finalizing 1.05MB         10/21 03:02:31

::*> snapmirror show -fields source-path, destination-path, state, status, progress-last-updated, total-progress
source-path  destination-path  state        status       total-progress progress-last-updated
------------ ----------------- ------------ ------------ -------------- ---------------------
svm:vol_ntfs svm2:vol_ntfs_dst Snapmirrored Transferring 1.06MB         10/21 03:02:33

::*> snapmirror show -fields source-path, destination-path, state, status, progress-last-updated, total-progress
source-path  destination-path  state        status     total-progress progress-last-updated
------------ ----------------- ------------ ---------- -------------- ---------------------
svm:vol_ntfs svm2:vol_ntfs_dst Snapmirrored Finalizing 1.06MB         10/21 03:02:34

::*> snapmirror show -fields source-path, destination-path, state, status, progress-last-updated, total-progress
source-path  destination-path  state        status total-progress progress-last-updated
------------ ----------------- ------------ ------ -------------- ---------------------
svm:vol_ntfs svm2:vol_ntfs_dst Snapmirrored Idle   -              -

SnapMirrorの再同期が完了しました。

FSxN BでSnapshot一覧とボリュームの状態を確認します。

FSxN B
::*> snapshot show -volume vol_ntfs_dst
                                                                 ---Blocks---
Vserver  Volume   Snapshot                                  Size Total% Used%
-------- -------- ------------------------------------- -------- ------ -----
svm2     vol_ntfs_dst
                  test.2024-08-30_0648                     296KB     0%    0%
                  test.2024-09-22_0958                   36.97MB     0%    0%
                  snapmirror.47963cae-8ead-11ef-9c67-4983eeb189eb_2148230170.2024-10-20_083000
                                                         246.4MB     0%    1%
                  snapmirror.3ba0f5ee-6064-11ef-a92a-512f30fadf39_2149324094.2024-10-20_132000
                                                           932KB     0%    0%
                  snapmirror.3ba0f5ee-6064-11ef-a92a-512f30fadf39_2149324094.2024-10-20_132500
                                                           504KB     0%    0%
                  10min.2024-10-21_0110                    224KB     0%    0%
                  10min.2024-10-21_0120                    228KB     0%    0%
                  10min.2024-10-21_0130                    228KB     0%    0%
                  10min.2024-10-21_0140                    228KB     0%    0%
                  10min.2024-10-21_0150                    228KB     0%    0%
                  10min.2024-10-21_0200                    236KB     0%    0%
                  10min.2024-10-21_0210                    228KB     0%    0%
                  10min.2024-10-21_0220                    244KB     0%    0%
                  10min.2024-10-21_0230                    224KB     0%    0%
                  10min.2024-10-21_0240                    224KB     0%    0%
                  10min.2024-10-21_0250                    224KB     0%    0%
                  10min.2024-10-21_0300                    224KB     0%    0%
                  snapmirror.47963cae-8ead-11ef-9c67-4983eeb189eb_2148230170.2024-10-21_030207
                                                           144KB     0%    0%
18 entries were displayed.

::*> volume show -fields type, state, size, used, available, percent-used, junction-path, security-style, snapshot-policy, autosize-mode
vserver volume    size state  security-style junction-path available used   percent-used autosize-mode type snapshot-policy
------- --------- ---- ------ -------------- ------------- --------- ------ ------------ ------------- ---- ---------------
svm2    svm2_root 1GB  online ntfs           /             971.2MB   1.60MB 0%           off           RW   default
svm2    vol_ntfs_dst
                  61.44GB
                       online ntfs           /vol_ntfs     6.92GB    51.45GB
                                                                            88%          grow_shrink   DP   none
2 entries were displayed.

FSxN AのSnapshotが転送され、ボリュームタイプがDPになっていることが確認できました。

レプリケーションされているか確認するためにSMB-SERVER2にアクセスします。

> ls "\\SMB-SERVER2.corp.non-97.net\FSxN vol_ntfs\SMB share"


    Directory: \\SMB-SERVER2.corp.non-97.net\FSxN vol_ntfs\SMB share


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        10/11/2024   8:39 AM                .aws-datasync
d-----        10/11/2024   7:20 AM                SMB share
d-----        10/14/2024  11:17 PM                SMB日本語フォルダ
-a----        10/20/2024   9:10 AM             14 test.txt
-a----        10/20/2024  12:51 PM             16 test2.txt
-a----        10/20/2024   1:30 PM             16 test3.txt

SMB-SERVERで作成したtest3.txtSMB-SERVER2に存在していますね。レプリケーションされていることが分かります。

しばらく放置してSnapMirrorの実行履歴と転送されたSnapshotを確認します。

FSxN B
::*> snapmirror show-history -max-rows-per-relationship 5 -fields start-time, end-time, result, transfer-size, additional-info
destination-path  operation-id                         start-time          end-time            result  transfer-size additional-info
----------------- ------------------------------------ ------------------- ------------------- ------- ------------- ---------------
svm2:vol_ntfs_dst d47b8322-a210-482a-a1a1-ff8cbb5921c3 10/21/2024 04:10:00 10/21/2024 04:10:06 success 6.95KB        -
svm2:vol_ntfs_dst f8594cfe-82e6-4006-9a89-3df523db8b7f 10/21/2024 04:05:00 10/21/2024 04:05:04 success 3.48KB        -
svm2:vol_ntfs_dst 6af8f1fa-7f8e-47a6-af6e-fc8dcc14d9fc 10/21/2024 04:00:00 10/21/2024 04:00:06 success 6.95KB        -
svm2:vol_ntfs_dst cd848d0f-ccd6-42d3-b004-846650922556 10/21/2024 03:55:00 10/21/2024 03:55:04 success 3.48KB        -
svm2:vol_ntfs_dst 8352bea5-4bc4-4699-b76a-50fb022ea230 10/21/2024 03:50:00 10/21/2024 03:50:05 success 6.95KB        -
5 entries were displayed.

::*> snapshot show -volume vol_ntfs_dst
                                                                 ---Blocks---
Vserver  Volume   Snapshot                                  Size Total% Used%
-------- -------- ------------------------------------- -------- ------ -----
svm2     vol_ntfs_dst
                  test.2024-08-30_0648                     296KB     0%    0%
                  test.2024-09-22_0958                   36.98MB     0%    0%
                  snapmirror.3ba0f5ee-6064-11ef-a92a-512f30fadf39_2149324094.2024-10-20_132500
                                                           504KB     0%    0%
                  10min.2024-10-21_0220                    244KB     0%    0%
                  10min.2024-10-21_0230                    224KB     0%    0%
                  10min.2024-10-21_0240                    224KB     0%    0%
                  10min.2024-10-21_0250                    224KB     0%    0%
                  10min.2024-10-21_0300                    952KB     0%    0%
                  10min.2024-10-21_0310                    268KB     0%    0%
                  10min.2024-10-21_0320                    264KB     0%    0%
                  10min.2024-10-21_0330                    268KB     0%    0%
                  10min.2024-10-21_0340                    264KB     0%    0%
                  10min.2024-10-21_0350                    268KB     0%    0%
                  10min.2024-10-21_0400                    264KB     0%    0%
                  snapmirror.47963cae-8ead-11ef-9c67-4983eeb189eb_2148230170.2024-10-21_040500
                                                           252KB     0%    0%
                  10min.2024-10-21_0410                    260KB     0%    0%
                  snapmirror.47963cae-8ead-11ef-9c67-4983eeb189eb_2148230170.2024-10-21_041000
                                                           144KB     0%    0%
17 entries were displayed.

5分ごとにSnapMirrorが実行され、転送元で10分間隔で取得されるSnapshotが転送されることが分かりますね。

切り替えだけでなく、切り戻しのプロセスも把握しておこう

Amazon FSx for NetApp ONTAPのSMBサーバーを切り戻す手順を整理してみました。

DR環境を構成するときは切り替えだけでなく、現状復帰のための切り戻しのプロセスも把握しておくことが望ましいです。

切り戻しプロセスもDRテストの中で一緒に確認しておきましょう。

この記事が誰かの助けになれば幸いです。

以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.